import { ElMessage, ElMessageBox } from 'element-plus'

export function messageTip(msg, type) {
  ElMessage({
    showClose: true,    // 是否显示关闭按钮
    center: true,   // 文字是否居中
    duration: 3000, // 显示时间, 单位为毫秒
    message: msg,    // 提示的消息内容
    type: type,    // 消息类型
  })
}

// 消息确认提示
export function messageConfirm(msg) {
  return ElMessageBox.confirm(
    msg,  // 提示语
    '系统提醒',  // 提示标题
    {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: 'warning',
    }
  )
}

// 获取存储在sessionStorage或localStorage中的token(JWT)的名字
export function getTokenName() {
  return 'dlyk_token'
}

// 删除历史的token
export function removeToken() {
  window.localStorage.removeItem(getTokenName())
  window.sessionStorage.removeItem(getTokenName())
}

// 封装返回函数
export function goback() {
  this.$router.go(-1)
}

// 获取token
export function getToken() {
  let token = window.sessionStorage.getItem(getTokenName())
  if(!token) {
    token = window.localStorage.getItem(getTokenName())
  }
  if(token) {
    return token
  } else {
    messageConfirm('请求token为空, 是否重新登录?').then(() => {  // 用户点击'确定'按钮就会触发then函数
      // token验证不通过,直接删除token信息
      removeToken()

      // 跳转到登录页
      window.location.href = '/'
    }).catch(() => {  // 用户点击'取消'按钮就会触发then函数
      messageTip('取消去登录', 'warning')
    })
  }
}